//
// Created by wkm on 2023-12-03.
//

#ifndef MYSYSTEMCLEARNING_GANG_FFS_H
#define MYSYSTEMCLEARNING_GANG_FFS_H

#include "systemc.h"

const int WIDTH = 4;

SC_MODULE(gang_ffs) {
    sc_in<sc_uint<WIDTH> > current_state;
    sc_in<bool> clock;
    sc_out<sc_uint<WIDTH> > next_state;

    void prc_gang_ffs();

    SC_CTOR(gang_ffs) {
        SC_METHOD(prc_gang_ffs);
        sensitive_neg << clock;
    }
};

#endif //MYSYSTEMCLEARNING_GANG_FFS_H
